<?php
require_once 'alertaControlador.php';
require_once '../beans/articulo.php';
require_once '../beans/marca.php';
require_once '../ORM/ORMArticulo.php';
require_once 'marcaControlador.php';
require_once '../beans/producto.php';
require_once 'productoControlador.php';
require_once '../session.php';

if(!empty ($_POST)) {
    switch($_POST['accion']) {
        case 'agregarArticulo':
            $codigo = filter_input(INPUT_POST, 'codigo', FILTER_SANITIZE_STRING);
            $idMarca = filter_input(INPUT_POST, 'marca', FILTER_SANITIZE_NUMBER_INT);
            $orden = filter_input(INPUT_POST, 'orden', FILTER_SANITIZE_NUMBER_INT);
            $idProducto = filter_input(INPUT_POST, 'producto', FILTER_SANITIZE_NUMBER_INT);
            $peso = (float) filter_input(INPUT_POST, 'peso', FILTER_SANITIZE_STRING);
            $precio = (float) filter_input(INPUT_POST, 'precio', FILTER_SANITIZE_STRING);
            agregarArticulo($codigo, $idMarca, $orden, $idProducto, $peso, $precio);
            break;
    }
}

function agregarArticulo($codigo, $idMarca, $orden, $idProducto, $peso, $precio) {
    
    $estado = true;
    
    if($codigo == "") {
            alerta("#resultadoCodigo", "El art&iacute;culo no puede ser vac&iacute;o.");
            $estado = false;
    } else {
        if(ORMExisteArticulo($codigo, $idMarca)) {
            alerta("#resultadoCodigo", "El art&iacute;culo ya existe.");
            $estado = false;
        } else {
            ok("#resultadoCodigo");
        }
    }
    
    if($orden != "") {
        ok("#resultadoOrden");
    } else {
        alerta("#resultadoOrden", "Debe ingresar un n&uacute;mero de orden.");
        $estado = false;
    }
    
    if($estado) {
        ORMAgregarArticulo($codigo, $idMarca, $orden, $idProducto, $peso, $precio);
        ?>
<script type="text/javascript">
    $(document).ready(function() {
        $("#codigo").val('');
        $("#resultadoCodigo").val('');
        $("#orden").val('');
        $("#resultadoOrden").val('');
        $("#peso").val('');
        $("#precio").val('');
        $("#codigo").focus();
        
    });
</script>
        <?php
    }
}

function getTodosLosArticulos() {
    return ORMGetArticulos();
}

function existeArticulo($codigo, $idMarca) {
    return ORMExisteArticulo($codigo, $idMarca);
}

function getArticuloPorCodigoYMarca($codigo, $idMarca) {
    $idArticulo = ORMGetIdArticuloPorCodigoYMarca($codigo, $idMarca);
    
    $articulo = getArticuloPorId($idArticulo);
    
    return $articulo;
    
}

function getArticuloPorId($idArticulo) {
    $articulo = new articulo();
    $articulo->setIdArticulo($idArticulo);
    $articulo->setCodigo(ORMGetCampoDeArticuloPorId('codigo', $idArticulo));
    
    $marca = getMarcaPorId(ORMGetCampoDeArticuloPorId('idMarca', $idArticulo));
    $articulo->setMarca($marca);
    
    $articulo->setOrden(ORMGetCampoDeArticuloPorId('orden', $idArticulo));
    
    $producto = getProductoPorId(ORMGetCampoDeArticuloPorId('idProducto', $idArticulo));
    $articulo->setProducto($producto);
    
    $articulo->setPeso(ORMGetCampoDeArticuloPorId('peso', $idArticulo));
    $articulo->setPrecio(ORMGetCampoDeArticuloPorId('precio', $idArticulo));
    
    return $articulo;
}
?>
